package com.yixin.hospital.service;

import com.yixin.hospital.common.ApiResult;
import com.yixin.hospital.entity.domain.JobDuty;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yixin.hospital.entity.dto.req.jobduty.AuthJobDutyMenuReqDTO;
import com.yixin.hospital.entity.dto.req.jobduty.JobDutyAddReqDTO;
import com.yixin.hospital.entity.dto.req.jobduty.JobDutyEditReqDTO;
import com.yixin.hospital.entity.vo.DeptAndJobDutyTreeNodeVO;
import com.yixin.hospital.entity.vo.JobDutyVO;

import javax.validation.Valid;
import java.util.List;

/**
* @author Administrator
* @description 针对表【job_duty(职务表)】的数据库操作Service
* @createDate 2024-05-23 15:55:57
*/
public interface JobDutyService extends IService<JobDuty> {

    ApiResult<List<JobDutyVO>> allList(Long deptId);

    ApiResult<List<DeptAndJobDutyTreeNodeVO>> deptJobDutyTree(Long deptId);

    ApiResult<?> listByDeptId(Long deptId);

    ApiResult add(@Valid JobDutyAddReqDTO jobAddReqDTO, String userName);

    ApiResult edit(@Valid JobDutyEditReqDTO jobEditReqDTO, String userName);

    ApiResult authJobMenu(AuthJobDutyMenuReqDTO authJobMenuReqDTO, String userName);

    ApiResult<?> parentJobDuty(String jobDutyId);

}
